An automated storage and retrieval system includes one or more banks of storage cells, used for retaining a stored item, one or more mechanical accessors, used to transport an item to and from a storage cell, and a controller. In an information library, for example, the stored items are recording media (such as magnetic tape cartridges or cassettes or optical cartridges or magazines holding one or more optical disks, collectively referred to herein as "cartridges") and the accessor transports the cartridge between the storage cells and one or more data drives in the library for reading information from or writing information to the media.
It will be appreciated that the position of the accessor should be carefully and accurately controlled by the controller in order for the accessor to retrieve the correct item and deliver it to the correct destination. Specifically referring to an information library, it is necessary for the accessor to "know" where each cell and data drive is. If the components of the library, including storage frames and transport rails, were constructed and assembled with absolute precision, it would be possible for the exact locations of the storage cells and data drives to be known and used by the library controller in directing the accessor to a desired position. However, such precision is not possible and, consequently, the accessor should be calibrated for any offset between the expected or nominal location of an element and its actual location.
In some libraries, the accessor should also have the capability to identify a cartridge before retrieving it. Conventionally, it is common to affix an identifying bar code (or other machine readable) label on each cartridge and employ a bar code reader or a vision system (such as a video camera and processor) to "read" the label. In those libraries employing a vision system to read labels, the camera can also be used to calibrate the position of the accessor. In those libraries employing a bar code scanner to read labels, however, a separate, single point sensor system has generally been used for positional calibration, if such calibration is performed at all. While both devices may result in an adequate calibration, a vision system is expensive and decoding a large array of pixels is time consuming and processor intensive; employing a separate sensor is inefficient and may also be slow.